how the backend works